1. Technical Field
This invention relates generally to an apparatus and method for dynamically configuring a PCMCIA compatible device. More particularly, the invention provides an easy method of loading new or modified configuration parameters into a PCMCIA peripheral controller such as a tape controller for a notebook computer.
2. Related Information
Personal Computer Memory Card International Association (PCMCIA) compatible devices such as modems, memory modules, and disk controllers are well known. The PCMCIA interface defines a physical size and electrical interconnection for a class of computer peripherals. The size of each PCMCIA device is approximately that of a credit card, and each device connects mechanically and electrically through a standard connector to a host computer such as a notebook PC. The small size is a major advantage for small computer footprints. The PCMCIA standard has recently become referred to as the "PC card" standard.
The PC card standard provides physical specifications for 3 types of PC cards, all having the same length and width and using the same 68-pin connector. However, the 3 types (type I, type II, and type III) have a different thickness. The card types have features that fit the needs of different applications. Type I cards are typically used for memory devices such as RAM, flash, and SRAM cards. Type II cards are typically used for I/O devices such as data/fax modems, LANs, and mass storage devices. Type III cards are typically used for devices having thicker components, such as a rotating mass storage device. Although the initial PC card standard in 1990 defined only memory cards, later versions of the standard added I/O cards as a different device type.
The PC card standard also defines a software architecture to provide "plug and play" capability across a range of products. For example, host software known as "socket services" is a BIOS level interface that masks the hardware implementation from card vendors' driver (i.e., it avoids requiring that the card driver communicate directly with any particular chip). Similarly, software referred to as "card services" manages system resources such as interrupt assignment and memory windows for PC cards.
PCMCIA compatible peripherals can require large development costs and long development schedules. For example, complex circuits are typically required to squeeze a large number of functions into a small space, and specialized hardware and software is often required to interact with a peripheral accessed through the PC card interface.
When designing a PCMCIA tape or disk controller, for example, a design engineer must develop circuitry to perform logic functions which implement the complex interaction and error checking for a particular disk or tape unit, and also interfacing protocols to the host computer. Once developed and implemented, making changes to the design of such a device can be expensive and time consuming because the hardware must be redesigned and remanufactured. For example, making a minor change to the protocol between the PCMCIA device and the host computer can require weeks or months and thousands of dollars. Accordingly, there is a need for a faster and cheaper method of testing new PCMCIA compatible devices.